#!/bin/bash

# MySQL备份脚本
# 使用mysqldump命令备份MySQL数据库，然后将备份文件打包并删除原始备份文件，最后删除60天前的备份文件以节省存储空间。
# 请注意，您需要将“your_username”、“your_password”和“your_database_name”替换为实际的MySQL用户名、密码和要备份的数据库名称。
# 此外，您需要将“/path/to/backup/folder”替换为实际的备份文件夹路径。

# 定义变量
MYSQL_USER="your_username"
MYSQL_PASSWORD="your_password"
MYSQL_DATABASE="your_database_name"
BACKUP_PATH="/opt/mysql/data-backup"
DATE=$(date +%Y-%m-%d_%H-%M-%S)
FILENAME="$MYSQL_DATABASE-$DATE.sql"

# 备份数据库
mysqldump -u$MYSQL_USER -p$MYSQL_PASSWORD $MYSQL_DATABASE > $BACKUP_PATH/$FILENAME

# 备份所有数据库的数据
# mysqldump -u$MYSQL_USER -p$MYSQL_PASSWORD --all-databases > $BACKUP_PATH/$FILENAME

# 打包备份文件
tar -czvf $BACKUP_PATH/$FILENAME.tar.gz $BACKUP_PATH/$FILENAME

# 删除原始备份文件
rm $BACKUP_PATH/$FILENAME

# 删除60天前的备份文件
find $BACKUP_PATH/* -mtime +60 -exec rm {} \;

